let number = 1;
export default class VNode {
  constructor(
    tag, // 标签类型，DIV, SPAN,INPUT,#TEXT
    nodeType, // 节点类型
    text, // 当前虚拟节点中的文本
    elm, // 对应的真实节点
    children, // 当前虚拟节点的子节点
    parent, // 父级VNode节点
    data, // VNodeData暂时保留的预留字段，暂无意义
    key
  ) {
    this.tag = tag;
    this.elm = elm;
    this.children = children;
    this.text = text;
    this.data = data;
    this.parent = parent;
    this.nodeType = nodeType;
    this.key = key;
    this.env = {}; // 当前节点的环境变量，用来存放自己声明的变量，让所有的字节点去继承（比如v-for="(temp) in list"中的temp）
    this.instructions = null; // 用来存放指令（比如for in）
    this.template = []; // 当前节点涉及到的模板
    this.number = number++;
  }
}
